## Script (Python) "amostraTecWeb"
##title=Criar amostra Tecnologia Web
##bind container=container
##bind context=context
##bind namespace=
##bind script=script
##bind subpath=traverse_subpath
##parameters=

NODE_LIST = """
w|tecnologias da Web||Conjunto das tecnologias utilizadas na construção e operação de web-sites
w0|arquitetura||protocolos e padrões para a integração de sistemas clientes e servidores
w1|cliente||tecnologias usadas do lado cliente de um sistema Web
w2|profissionais||profissionais que atuam na construção e operação de Web sites
w3|servidor||tecnologias usadas do lado servidor de um sistema Web
w00|AJAX||
w01|MVC||Model-View-Controller
w02|certificação||
w03|criptografia||
w04|otimização||tecnologias para aumentar o desempenho e a escalabilidade de aplicações Web
w05|protocolos||protocolos de rede formais e padronizados pelo IETF, W3C e outras autoridades técnicas da Internet
w06|segurança||
w07|web services||padrões e protocolos para comunicação entre aplicações Web
w10|CSS||Cascading Style Sheets - folhas de estilo em cascata
w11|Flash||
w12|HTML|['XHTML']|linguagem de marcação de páginas
w13|JavaScript||linguagem de progração embutida em navegadores
w14|software cliente||
w20|produtores de conteúdo||
w30|linguagens||
w31|plataformas||plataformas para desenvolvimento e operação de aplicações Web
w32|software servidor||
w300|C#||
w301|Java||
w302|PHP||
w303|Perl||
w304|Python||
w305|Ruby||
w306|SQL||
w307|VBScript||
w310|.Net||
w311|J2EE||
w312|Ruby on Rails||
w313|Zope||
w050|FTP||
w051|HTTP|['HTTPS']|
w052|SOAP||
w053|SSL||
w140|navegadores|['browsers']|
w141|plug-ins||
w320|bancos de dados||
w321|servidores HTTP||
w322|servidores de cache||servidores intermediários (proxy) que armazenam páginas dinâmicas previamente servidas
w3200|Microsoft SQL Server||
w3201|MySQL||
w3202|Oracle||
w3203|PostgreSQL||
w3204|SQLite||
w3210|Apache||
w3211|IIS||
"""

nodes = {}
def createConcept(target, id, title):
    nodes[target].invokeFactory('Concept', id=id, title=title)
    nodes[id] = nodes[target][id]
    
context.invokeFactory('Concept', id='w', title='Tecnologias Web')
raiz = nodes['w'] = context['w']
for lin in NODE_LIST.split('\n'):
    if not lin.strip(): continue
    id, label, altLabels, note = lin.split('|')
    if id =='w': continue
    createConcept(id[:-1],id, label)
    if altLabels.strip():
        nodes[id].setAltLabels(altLabels)
    if note.strip():
        nodes[id].setScopeNote(note)
        

msg = "portal_status_message=Sample created."
return context.REQUEST.RESPONSE.redirect(
    '%s?%s' % (raiz.absolute_url(), msg))


